struct ListNode* removeElements(struct ListNode* h, int val){
  struct ListNode* node=h;
  if(h==NULL) return h;
  while(node->next!=NULL)
  {
    if(node->val==val)
    {
      h=node->next;
      node=h;
    }
    else if(node->next->val==val)
    {
      node->next=node->next->next;
    }
    else node=node->next;
  }
  if(h->val==val)
  {
    h=NULL;
  }
  return h;
} 